package com.desksoft.ecommerce.service.payutil.mall.chinabank.services;

import java.util.Map;

import beartool.MD5;

import com.desksoft.ecommerce.service.payutil.mall.chinabank.config.EBankConfig;
import com.desksoft.ecommerce.service.payutil.mall.chinabank.util.EBankSubmit;

/***************************************
 * <pre>
 * 版权所有：杭州迪科软件 保留所有权利
 * 创建日期: 2012-7-11
 * 创建作者：rq
 * 文件名称：EBankService.java
 * 版本：1.0
 * 功能：
 * 最后修改时间：2012-7-11
 * 修改记录：
 * </pre>
 *****************************************/
public class EBankService {
	
	/**
	 *	提供给商户的服务接入网关URL(新)
	 */
	private static final String EBANK_GATEWAY_NEW = "https://pay3.chinabank.com.cn/PayGate";
	
	// 订单号
	public static String v_oid = "1001";
	// 订单金额
	public static String v_amount = "1001";
	
	// ************以下几项为非必填项**************

	// 收货人
	public static String v_rcvname = "1001";

	// 收货地址
	public static String v_rcvaddr = "1001";

	// 收货人电话
	public static String v_rcvtel = "1001";

	// 收货人邮编
	public static String v_rcvpost = "1001";

	// 收货人邮件
	public static String v_rcvemail = "1001";

	// 收货人手机号
	public static String v_rcvmobile = "1001";

	public static String v_ordername = "v_ordername"; // 订货人姓名
	public static String v_orderaddr = "v_orderaddr"; // 订货人地址
	public static String v_ordertel = "v_ordertel"; // 订货人电话
	public static String v_orderpost = "v_orderpost"; // 订货人邮编
	public static String v_orderemail = "v_orderemail"; // 订货人邮件
	public static String v_ordermobile = "v_ordermobile"; // 订货人手机号

	public static String remark1 = "remark1"; // 备注字段1
	public static String remark2 = "remark2"; // 备注字段2

	/**
	 * 构造即时到帐接口
	 * 
	 * @param sParaTemp
	 *            请求参数集合
	 * @return 表单提交HTML信息
	 */
	public static String create_direct_pay_by_user(Map<String, String> sParaTemp) {
		
		String text = sParaTemp.get("v_amount") + EBankConfig.v_moneytype
				+ sParaTemp.get("v_oid") + EBankConfig.v_mid + EBankConfig.v_url
				+ EBankConfig.key; // 拼凑加密串
		String v_md5info = new MD5().getMD5ofStr(text);
		
		sParaTemp.put("v_mid", EBankConfig.v_mid);
		sParaTemp.put("v_moneytype", EBankConfig.v_moneytype);
		sParaTemp.put("v_url", EBankConfig.v_url);
		sParaTemp.put("v_md5info", v_md5info);
		
		// 增加基本配置

		String strButtonName = "确认";

		return EBankSubmit.buildForm(sParaTemp, EBANK_GATEWAY_NEW, "POST",
				strButtonName);
	}

}
